const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});
rl.on('line', function (line) {
  const n = parseInt(line); // 读出这个函数n
  let items = []
  for (let i = 0; i < n; i++) {
    items[i] = i
  } // 得到这个数组
  let result = {
    odd: 0,
    even: 0
  }
  function process (item) {
    let res = item % 2
    if (res > 0) {
      result.odd = result.odd++
    } else {
      result.even = result.even++
    }
  }
  function callback () {
    console.log('done')
  }
  function jsLimitUi (array, process, callback) { // 传入三个参数 分别书任务数组 ,处理函数 还有回调函数
    let lists = [...array] // 先拷贝一份
    setTimeout(function () {
      let task = lists.shift() // 弹出第一个任务
      process(task) // 处理这个任务
      if (lists.length > 0) {
        // 如果还有任务
        setTimeout(arguments.callee, 25); // 重新调用这个函数
      } else {
        callback() // 执行回调函数
      }
    }, 25); // 使用定时器可以造成ui线程暂停
  }
  jsLimitUi(items, process, callback)
  console.log('done')
});